home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / IBM VisualAge for Java Enterprise v4.0 Retail / ivj40 / setup / IDE.Cab / F77283_TableViewer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-04-25  |  5.9 KB  |  174 lines

  1. package com.ibm.ivb.jface.plus;
  2.  
  3. import com.ibm.ivb.jface.NullEvent;
  4. import com.ibm.ivb.jface.Tool;
  5. import com.ibm.ivf.ui.browser.interfaces.IElement;
  6. import com.ibm.ivf.ui.browser.interfaces.IIndexedProperty;
  7. import com.ibm.ivf.ui.browser.interfaces.IProperty;
  8. import com.ibm.ivf.ui.browser.model.IBasicProperties;
  9. import java.awt.Component;
  10. import java.util.Vector;
  11. import javax.swing.JScrollPane;
  12. import javax.swing.JTable;
  13. import javax.swing.table.TableModel;
  14.  
  15. public class TableViewer extends ToolViewer implements IBasicProperties {
  16.    private static final String fgIBMCopyright = "(c) Copyright IBM Corporation 1998";
  17.    protected JScrollPane scrollPane;
  18.    protected JTable table = this.createTable();
  19.    protected Vector columns;
  20.    private static TableModelAdapter emptyModel = new TableModelAdapter();
  21.    private boolean columnsLoaded = false;
  22.    private boolean sorting = true;
  23.    // $FF: synthetic field
  24.    static Class class$com$ibm$ivf$ui$browser$interfaces$IElement;
  25.    // $FF: synthetic field
  26.    static Class class$java$lang$String;
  27.  
  28.    public TableViewer() {
  29.       JTable var10000 = this.table;
  30.       this.getClass();
  31.       ((Component)var10000).addMouseListener(new ToolViewer.PopupListener(this));
  32.       this.table.getSelectionModel().addListSelectionListener(new ListHandler(this));
  33.       this.table.setModel(emptyModel);
  34.       this.table.setShowGrid(false);
  35.       this.table.setDefaultRenderer(class$com$ibm$ivf$ui$browser$interfaces$IElement != null ? class$com$ibm$ivf$ui$browser$interfaces$IElement : (class$com$ibm$ivf$ui$browser$interfaces$IElement = class$("com.ibm.ivf.ui.browser.interfaces.IElement")), new 1());
  36.    }
  37.  
  38.    protected JTable createTable() {
  39.       return new JTable();
  40.    }
  41.  
  42.    protected TableModel createTableModel(IElement var1, IProperty var2) {
  43.       return new TableModelAdapter(this);
  44.    }
  45.  
  46.    public void domainChanged(IElement var1, String var2, IElement var3) {
  47.       if (var1 == ((ToolViewer)this).getCurrentElement() && var2.equals(((ToolViewer)this).getCurrentPropertyName()) && var3 != null) {
  48.          TableModelAdapter var4 = (TableModelAdapter)this.table.getModel();
  49.          var4.fireChanged();
  50.       } else if (var1 != null && (var3 == null || var3 != ((ToolViewer)this).getCurrentElement())) {
  51.          if (var1 != null && var3 == null && (var2.equals("name") || var2.equals("icon"))) {
  52.             if (var1 == ((ToolViewer)this).getCurrentElement()) {
  53.                ((Tool)this).setTitleIcon(var1.getIcon());
  54.                ((Tool)this).setTitle(var1.getName());
  55.             }
  56.  
  57.             this.table.repaint();
  58.          }
  59.  
  60.       } else {
  61.          ((ToolViewer)this).updateInput(((ToolViewer)this).getCurrentElement());
  62.       }
  63.    }
  64.  
  65.    public Class getColumnClass(int var1) {
  66.       if (this.columns != null) {
  67.          String var2 = (String)this.columns.elementAt(var1);
  68.          if (var2.equals("<e>") || var2.equals("icon_and_name")) {
  69.             return class$com$ibm$ivf$ui$browser$interfaces$IElement != null ? class$com$ibm$ivf$ui$browser$interfaces$IElement : (class$com$ibm$ivf$ui$browser$interfaces$IElement = class$("com.ibm.ivf.ui.browser.interfaces.IElement"));
  70.          }
  71.       }
  72.  
  73.       if (class$java$lang$String != null) {
  74.          return class$java$lang$String;
  75.       } else {
  76.          return class$java$lang$String = class$("java.lang.String");
  77.       }
  78.    }
  79.  
  80.    public int getColumnCount() {
  81.       return this.columns != null ? this.columns.size() : 0;
  82.    }
  83.  
  84.    public String getColumnName(int var1) {
  85.       if (this.columns == null) {
  86.          return "<null>";
  87.       } else {
  88.          String var2 = (String)this.columns.elementAt(var1);
  89.          return this.getLocalizedColumnName(var2);
  90.       }
  91.    }
  92.  
  93.    public String getLocalizedColumnName(String var1) {
  94.       return var1;
  95.    }
  96.  
  97.    protected int getMappedRowIndex(int var1) {
  98.       return var1;
  99.    }
  100.  
  101.    public Component getPrintableView() {
  102.       return this.table;
  103.    }
  104.  
  105.    public int getRowCount() {
  106.       IProperty var1 = ((ToolViewer)this).getCurrentProperty();
  107.       return var1 instanceof IIndexedProperty ? ((IIndexedProperty)var1).getSize() : 0;
  108.    }
  109.  
  110.    public Object getValueAt(int var1, int var2) {
  111.       IProperty var3 = ((ToolViewer)this).getCurrentProperty();
  112.       if (var3 instanceof IIndexedProperty) {
  113.          IElement var4 = ((IIndexedProperty)var3).elementAt(var1);
  114.          String var5 = (String)this.columns.elementAt(var2);
  115.          if (var5.equals("<e>") || var5.equals("icon_and_name")) {
  116.             return var4;
  117.          }
  118.  
  119.          IProperty var6 = var4.getProperty(var5);
  120.          if (var6 != null) {
  121.             return var6.toString();
  122.          }
  123.       }
  124.  
  125.       return null;
  126.    }
  127.  
  128.    public Component getView() {
  129.       return ((ToolViewer)this).createScrollPane(this.table);
  130.    }
  131.  
  132.    public void inputChanged(IElement var1, IProperty var2) {
  133.       if (var1 == null) {
  134.          this.table.setModel(emptyModel);
  135.          ((Tool)this).fireLinkEvent(new NullEvent(this));
  136.       } else if (var2 instanceof IIndexedProperty) {
  137.          this.setTableModel(this.createTableModel(var1, var2));
  138.       } else {
  139.          this.table.setModel(emptyModel);
  140.       }
  141.  
  142.       this.table.invalidate();
  143.       this.table.validate();
  144.       this.table.repaint();
  145.    }
  146.  
  147.    void internalToolInstalled() {
  148.       if (!this.columnsLoaded) {
  149.          Object var1 = ((Tool)this).getParameter("columns");
  150.          if (var1 instanceof String) {
  151.             this.columns = new Vector();
  152.             this.columns.addElement(var1);
  153.          } else if (var1 instanceof Vector) {
  154.             this.columns = (Vector)var1;
  155.          }
  156.  
  157.          this.columnsLoaded = true;
  158.       }
  159.    }
  160.  
  161.    protected void setTableModel(TableModel var1) {
  162.       this.table.setModel(var1);
  163.    }
  164.  
  165.    // $FF: synthetic method
  166.    static Class class$(String var0) {
  167.       try {
  168.          return Class.forName(var0);
  169.       } catch (ClassNotFoundException var2) {
  170.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  171.       }
  172.    }
  173. }
  174.